Bump platform dependencies and dev tools - #164
Conversation
Signed-off-by: Alexander Shenshin <alexander.shenshin@dsr-corporation.com>
Signed-off-by: Alexander Shenshin <alexander.shenshin@dsr-corporation.com>
Signed-off-by: Alexander Shenshin <alexander.shenshin@dsr-corporation.com>
Signed-off-by: Alexander Shenshin <alexander.shenshin@dsr-corporation.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
💤 Files with no reviewable changes (4)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughCoordinated upgrade of Node.js (to 22) and Yarn (to 4.16.0) across CI, Docker, project .yarnrc.yml and package.json files; migration from legacy .eslintrc.js to flat eslint.config.mjs with import-x; TypeScript/tooling dependency bumps; small, behavior-preserving code refactors. ChangesTooling Version and Config Migration
🎯 3 (Moderate) | ⏱️ ~25 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
⛔ Snyk checks have failed. 1 issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Actionable comments posted: 9
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
heka-auth-service/Dockerfile (1)
16-32:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRun the runtime container as a non-root user.
The final stage does not set
USER, so the app runs as root. This is a container hardening gap and increases blast radius on compromise.Suggested Dockerfile adjustment
FROM node:22-bookworm-slim RUN apt-get update && apt-get install curl -y WORKDIR /opt/heka-auth-service @@ COPY --from=builder /opt/heka-auth-service/.yarn ./.yarn COPY --from=builder /opt/heka-auth-service/.yarnrc.yml ./ + +RUN chown -R node:node /opt/heka-auth-service +USER node CMD ["sh", "-c", "yarn migration:up && yarn start"]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@heka-auth-service/Dockerfile` around lines 16 - 32, The final Dockerfile stage currently runs as root (no USER set) which is insecure; create or use a non-root user (e.g., add a user like "app" or use the standard node user), chown the application files/directories copied into WORKDIR (migrations, dist, node_modules, package*.json, .yarn, .yarnrc.yml) to that user, set USER to that non-root user before the CMD, and ensure any startup commands (yarn migration:up && yarn start) run with that user's permissions; reference the Dockerfile CMD and the copied paths (migrations, dist, node_modules, package*.json, .yarn, .yarnrc.yml) and perform chown after COPY and before switching USER.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@demo/a2a-oid4vp/.yarnrc.yml`:
- Around line 1-2: The Yarn config currently disables supply-chain guardrails by
setting approvedGitRepositories to "**" and npmMinimalAgeGate to 0; update the
config to use an explicit allowlist for approvedGitRepositories (replace the
"**" wildcard with a list of trusted repo URLs or org patterns) and set
npmMinimalAgeGate to a non-zero value (e.g., a few days) to re-enable
package-age gating; ensure both keys (approvedGitRepositories and
npmMinimalAgeGate) are present and documented so reviewers can verify the
allowed repos and chosen age threshold.
In `@heka-auth-service/.yarnrc.yml`:
- Around line 1-2: The approvedGitRepositories setting currently uses a wildcard
("**") which disables git-source allowlisting; update the .yarnrc.yml by
replacing approvedGitRepositories: - "**" with a limited list of explicit
trusted org/repo patterns (for example entries matching your orgs or specific
repos) or remove the approvedGitRepositories key entirely if you don't need
allowlisting; ensure you modify the approvedGitRepositories entry so it only
contains safe, explicit patterns rather than the global wildcard.
- Line 8: The npmMinimalAgeGate is set to 0 which disables the quarantine window
for newly published packages; update the npmMinimalAgeGate setting in the
configuration to a positive integer (e.g., 3 or 7 days) to enforce an age gate,
validate that the change is applied by running your package manager lint/check,
and add a brief note in the repository’s contributing or security docs
describing the allowed exception process for any future overrides of
npmMinimalAgeGate.
In `@heka-auth-service/package.json`:
- Around line 90-91: The pinned dependency typescript-eslint at "8.60.1" is
tripping the StepSecurity cooldown; update the version in package.json to an
earlier patch that's already passed the cooldown (for example pick an 8.5x or an
early 8.60.x release published before 2026-06-01) so CI passes immediately, then
run npm/yarn install to update lockfile; keep the package name
"typescript-eslint" unchanged and only adjust the version string.
- Around line 26-28: The engines.node range in package.json currently allows
Node 21.x which ESLint 10 rejects; update the "engines": { "node": ... } field
(and the same field duplicated in other package.json files) to the tightened,
ESLint-supported range (e.g. ^20.19.0 || ^22.13.0 || >=24) so the manifest
cannot advertise an unrunnable Node version.
In `@heka-identity-service-web-ui/.yarnrc.yml`:
- Line 8: The npmMinimalAgeGate value is set to 0 which disables the publish-age
guard; update the npmMinimalAgeGate setting in .yarnrc.yml to a positive integer
(e.g., 30) to enforce a minimum package publish age for baseline supply-chain
protection and document any intentional override in repo policy; change the
value referenced by the npmMinimalAgeGate key and commit with a brief
justification.
- Around line 1-2: The approvedGitRepositories entry currently uses a wildcard
("**") which allows any git source; replace that value with a minimal allowlist
of trusted hosts/orgs/repos by updating the approvedGitRepositories YAML list
(replace the "**" list item) to explicit patterns or specific repos (e.g.
"github.com:your-org/*", "gitlab.com:trusted-team/*", or
"github.com:your-org/specific-repo") appropriate for your project, ensure the
entries follow Yarn's accepted host/repo pattern syntax and keep the list as
small and specific as possible.
In `@heka-identity-service/.yarnrc.yml`:
- Around line 1-4: The .yarnrc.yml currently sets approvedGitRepositories:
["**"] with enableScripts: true which allows any git-hosted dependency to run
lifecycle scripts; tighten this by replacing the wildcard with explicit allowed
repo patterns (or remove approvedGitRepositories entirely if no git deps are
used) and/or set a safer allowlist such as specific org/repo globs, ensuring
postinstall (patch-package) in package.json still runs as expected; update the
approvedGitRepositories entry and keep enableScripts only if needed so that
arbitrary git+ / github: dependencies cannot execute install scripts.
In `@heka-identity-service/test/revocation.e2e.test.ts`:
- Around line 22-23: The variables revocationRegistryDefinitionId and
revocationIndex are declared with definite-assignment assertions which hide that
they are never actually set; update their declarations
(revocationRegistryDefinitionId, revocationIndex) so they are either initialized
with a real value or typed as optional (e.g., string | undefined / number |
undefined) and ensure they are assigned in the test setup (beforeAll/beforeEach)
from the helper that creates the revocation registry; additionally add explicit
runtime checks or expect assertions before use so tests fail with a clear
message if setup didn't assign them.
---
Outside diff comments:
In `@heka-auth-service/Dockerfile`:
- Around line 16-32: The final Dockerfile stage currently runs as root (no USER
set) which is insecure; create or use a non-root user (e.g., add a user like
"app" or use the standard node user), chown the application files/directories
copied into WORKDIR (migrations, dist, node_modules, package*.json, .yarn,
.yarnrc.yml) to that user, set USER to that non-root user before the CMD, and
ensure any startup commands (yarn migration:up && yarn start) run with that
user's permissions; reference the Dockerfile CMD and the copied paths
(migrations, dist, node_modules, package*.json, .yarn, .yarnrc.yml) and perform
chown after COPY and before switching USER.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 0976a4d2-7411-44a2-81e4-1d147fc76fd7
⛔ Files ignored due to path filters (14)
demo/a2a-oid4vp/.yarn/releases/yarn-4.16.0.cjsis excluded by!**/.yarn/**demo/a2a-oid4vp/.yarn/releases/yarn-4.9.4.cjsis excluded by!**/.yarn/**demo/a2a-oid4vp/yarn.lockis excluded by!**/yarn.lock,!**/*.lockheka-auth-service/.yarn/releases/yarn-4.16.0.cjsis excluded by!**/.yarn/**heka-auth-service/yarn.lockis excluded by!**/yarn.lock,!**/*.lockheka-identity-service-web-ui/.yarn/releases/yarn-4.16.0.cjsis excluded by!**/.yarn/**heka-identity-service-web-ui/.yarn/releases/yarn-4.9.4.cjsis excluded by!**/.yarn/**heka-identity-service-web-ui/yarn.lockis excluded by!**/yarn.lock,!**/*.lockheka-identity-service/.yarn/releases/yarn-4.16.0.cjsis excluded by!**/.yarn/**heka-identity-service/.yarn/releases/yarn-4.9.4.cjsis excluded by!**/.yarn/**heka-identity-service/yarn.lockis excluded by!**/yarn.lock,!**/*.lockheka-wallet/.yarn/releases/yarn-4.16.0.cjsis excluded by!**/.yarn/**heka-wallet/.yarn/releases/yarn-4.9.4.cjsis excluded by!**/.yarn/**heka-wallet/yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (42)
.github/workflows/heka-auth-service-verify.yml.github/workflows/heka-identity-service-verify.yml.github/workflows/heka-identity-service-web-ui-verify.yml.github/workflows/heka-wallet-build-android.yml.github/workflows/heka-wallet-verify.yml.gitignoredemo/a2a-oid4vp/.yarnrc.ymldemo/a2a-oid4vp/README.mddemo/a2a-oid4vp/package.jsonheka-auth-service/.eslintignoreheka-auth-service/.eslintrc.jsheka-auth-service/.gitignoreheka-auth-service/.yarnrc.ymlheka-auth-service/Dockerfileheka-auth-service/README.mdheka-auth-service/eslint.config.mjsheka-auth-service/package.jsonheka-auth-service/src/core/config/configs/db.config.tsheka-identity-service-web-ui/.gitignoreheka-identity-service-web-ui/.yarnrc.ymlheka-identity-service-web-ui/README.mdheka-identity-service-web-ui/eslint.config.mjsheka-identity-service-web-ui/package.jsonheka-identity-service-web-ui/tsconfig.jsonheka-identity-service/.eslintignoreheka-identity-service/.eslintrc.jsheka-identity-service/.yarnrc.ymlheka-identity-service/docs/setup.mdheka-identity-service/eslint.config.mjsheka-identity-service/package.jsonheka-identity-service/src/common/entities/issuance-template-field.entity.tsheka-identity-service/test/revocation.e2e.test.tsheka-wallet/.eslintignoreheka-wallet/.eslintrc.jsheka-wallet/.yarnrc.ymlheka-wallet/README.mdheka-wallet/app/.eslintignoreheka-wallet/app/index.jsheka-wallet/eslint.config.mjsheka-wallet/package.jsonheka-wallet/packages/shared/src/utils/ble.tsheka-wallet/tsconfig.json
💤 Files with no reviewable changes (7)
- heka-wallet/app/.eslintignore
- heka-wallet/.eslintignore
- heka-auth-service/.eslintrc.js
- heka-auth-service/.eslintignore
- heka-wallet/.eslintrc.js
- heka-identity-service/.eslintignore
- heka-identity-service/.eslintrc.js
Coverage Report for ./heka-identity-service
File CoverageNo changed files found. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@heka-wallet/package.json`:
- Around line 31-34: The engines.yarn constraint is out of sync with the
packageManager pin; update the "engines".yarn value to require at least the
Corepack-pinned version by changing the engines.yarn entry from "^4.9.4" to
"^4.16.0" so it matches the packageManager: "yarn@4.16.0" declaration and
prevents version drift.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 74b06578-f4b3-413e-a648-86d9478c7eff
📒 Files selected for processing (9)
demo/a2a-oid4vp/.yarnrc.ymlheka-auth-service/.yarnrc.ymlheka-auth-service/package.jsonheka-identity-service-web-ui/.yarnrc.ymlheka-identity-service-web-ui/package.jsonheka-identity-service/.yarnrc.ymlheka-identity-service/package.jsonheka-wallet/.yarnrc.ymlheka-wallet/package.json
💤 Files with no reviewable changes (4)
- demo/a2a-oid4vp/.yarnrc.yml
- heka-auth-service/.yarnrc.yml
- heka-identity-service-web-ui/.yarnrc.yml
- heka-identity-service/.yarnrc.yml
🚧 Files skipped from review as they are similar to previous changes (4)
- heka-wallet/.yarnrc.yml
- heka-identity-service/package.json
- heka-identity-service-web-ui/package.json
- heka-auth-service/package.json
62c618b to
9187af8
Compare
Description:
Bumped and aligned platform dependencies and dev tools across the repo:
4.16.05.9.x10.xChecklist
Summary by CodeRabbit
Chores
Documentation